<?php

/*
 * Utilidades
 * 10/06/2012
 */

class Utils{  

    public static function iniciarSession(){
        if (session_id() == null )
        session_start();
    }
    
    public static function guardarSesion($obj){
        Utils::iniciarSession();
        $conexion = new ConexionDB();
        if ( $obj <> null ){
            $conexion->Ejecuto("UPDATE usuario set sesion = \"".session_id()."\" WHERE nombreusuario = \"".$obj->getNombreUsuario()."\" ");
        }
    }
    
    public static function logOut(){
        Utils::iniciarSession();
        $conexion = new ConexionDB();
        $conexion->Ejecuto("UPDATE usuario set sesion =\"\" WHERE sesion = \"".session_id()."\"");
    }
    
    public static function getUsuarioLogueado(){
        Utils::iniciarSession();
        $conexion = new ConexionDB();
        $conexion->Ejecuto("SELECT * from usuario WHERE sesion =\"".session_id()."\"");
        $dato = $conexion->Siguiente();
        if ( $dato <> null ){
            $u = new Usuario();
            $usuario = $u->obtenerXid($dato["nombreusuario"]);
            $usuario->setPassword("");
            return $usuario;
        }        
        return $dato;
    }
    
    public static function getListaActual(){
        Utils::iniciarSession();
        $conexion = new ConexionDB();
        $conexion->Ejecuto("SELECT listacompra.id FROM listacompra,usuario
                            WHERE listacompra.propietario = usuario.nombreusuario
                            AND usuario.sesion = \"".session_id()."\"
                            AND listacompra.actual = true
                            AND listacompra.estado <> \"comprando\"");
  
        $dato = $conexion->Siguiente();
        if ( $dato <> null ){
           $l = new ListaCompra();
           $listacompra = $l->obtenerXid($dato["id"]);           
           $conexion->Libero();
           return $listacompra[0];
        }
        $conexion->Libero();
        throw new Exception("No hay resultados.");
    }
    
    public static function getListaCompartida($obj){
        $pass = $obj["password"];
        $nombre = $obj["lista"];
        $conexion = new ConexionDB();
        $conexion->Ejecuto("SELECT listacompra.id FROM listacompra
                            WHERE listacompra.estado <> \"cerrado\"
                            AND listacompra.estado <> \"comprando\"
                            AND listacompra.password = \"".md5($pass)."\"
                            AND listacompra.nombre = \"".$nombre."\"
                            AND listacompra.compartida = true");
  
        $dato = $conexion->Siguiente();
        if ( $dato <> null ){
           $l = new ListaCompra();
           $listacompra = $l->obtenerXid($dato["id"]);
           $conexion->Libero();
           return $listacompra[0];
        }
        $conexion->Libero();
        throw new Exception("No hay resultados.");
    }
}
?>
